<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>


    <script>
        // 对象: 是一个根据键值对方式存取数据的无序集合 (万物皆对象)
        // 面向对象: 
            // 人: 名字 年龄 性别 说话 行走
            // 车: 品牌 颜色 价格 代步
            // 学校: 名称 历史 专业 授课

        // 定义对象(人)
        var people = {
            name: "",
            age: "",
            sex: "",
            say:function() {},
            run: function(){}
        }

        // 定义对象(车)
        var car = {
            brand: "",
            color: "",
            price: "",
            drive:function() {}
        }

        // 定义对象(学校)
        var school = {
            name: "北大",
            history: "100",
            zhuanye: "文学类,软件类,管理类",
            teach:function() { // 因为teach函数是被school对象调用的,所以作用域的this指向 school
                console.log(this === school);// true
                console.log("名称: ",this.name);
                console.log("历史:",this.history);
                console.log("专业:",this.zhuanye);
            }
        }
        // 调用teach方法
        school.teach();

        // 总结:
            // 定义对象(空对象),可以添加属性和方法
            // 一定程度上避免数据冲突,全局变量污染


    
    
    
        // 全局作用域下,this指向window
        console.log(this);// Window {}



    </script>
</body>
</html>